package com.ruoyi.system.domain;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.dto.json.UserInfo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 审批抄送对象 approve_carbon_copy
 *
 * @author ruoyi
 * @date 2024-03-27
 */
public class ApproveCarbonCopy extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 流程实例id */
    @Excel(name = "流程实例id")
    private String processInstanceId;

    /** 删除标志（0删除 1存在） */
    private String delFlag;


    //审批类型
    private String processDefinitionName;

    //发起人
    private UserInfo startUser;

    //发起人(带icon)
    private SysUser users;

    //提交时间
    private Date startTime;

    //结束时间
    private Date endTime;

    //当前节点
    private String currentActivityName;

    //审批状态
    private String businessStatus;

    //耗时
    private String duration;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setProcessInstanceId(String processInstanceId)
    {
        this.processInstanceId = processInstanceId;
    }

    public String getProcessInstanceId()
    {
        return processInstanceId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public String getProcessDefinitionName() {
        return processDefinitionName;
    }

    public void setProcessDefinitionName(String processDefinitionName) {
        this.processDefinitionName = processDefinitionName;
    }

    public UserInfo getStartUser() {
        return startUser;
    }

    public void setStartUser(UserInfo startUser) {
        this.startUser = startUser;
    }

    public SysUser getUsers() {
        return users;
    }

    public void setUsers(SysUser users) {
        this.users = users;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getCurrentActivityName() {
        return currentActivityName;
    }

    public void setCurrentActivityName(String currentActivityName) {
        this.currentActivityName = currentActivityName;
    }

    public String getBusinessStatus() {
        return businessStatus;
    }

    public void setBusinessStatus(String businessStatus) {
        this.businessStatus = businessStatus;
    }

    public String getDuration() {
        return duration;
    }

    public void setDuration(String duration) {
        this.duration = duration;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("processInstanceId", getProcessInstanceId())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
